package com.c2b.algorithm.leetcode.base;

/**
 * <a href="https://leetcode.cn/problems/number-of-common-factors/description/">公因子的数目</a>
 * <p>给你两个正整数 a 和 b ，返回 a 和 b 的 公 因子的数目。如果 x 可以同时整除 a 和 b ，则认为 x 是 a 和 b 的一个 公因子 。</p>
 * <pre>
 * 示例 1：
 *      输入：a = 12, b = 6
 *      输出：4
 *      解释：12 和 6 的公因子是 1、2、3、6 。
 *
 * 示例 2：
 *      输入：a = 25, b = 30
 *      输出：2
 *      解释：25 和 30 的公因子是 1、5 。
 * </pre>
 * <b>提示：</b>
 * <li>1 <= a, b <= 1000</li>
 *
 * @author c2b
 * @since 2023/4/14 10:31
 */
public class LC2427CommonFactors_S {

    public int commonFactors(int a, int b) {
        int res = 0;
        // 因子应该从1开始，最大不超过该数自身。即a，b的公因子最大不会超过两个数的较小数
        for (int i = 1; i <= Math.min(a, b); i++) {
            if (a % i == 0 && b % i == 0) {
                ++res;
            }
        }
        return res;
    }
}
